Modern knowledge seekers and other users use search engines to search for information and media assets. Search engines allow a user to efficiently access a vast source of information on various subjects, for example, by accessing information on the Internet and from other electronic sources. Searching for such content can involve an iterative process of the user entering search query criteria and browsing through search results. Users searching for electronic content generally desire result sets that are accurate and that can be provided quickly following the user's submission of search query criteria. Thus, hosts or providers of search engines generally attempt to reduce search time and increase the accuracy of the search results returned relative to the submitted search query criteria. It is desirable to improve the performance of the search, the management of the result set in terms of size and content, and/or the organization of the search results for presentation. Improving such processing is becoming both more difficult and more important as the quantity and type of available electronic content continues to rapidly grow with the advent of cloud technologies, improvements in storage efficiencies, and other advances in technology.
Existing search algorithms employed by search engines have various deficiencies. For example, techniques for identifying a search result set of an appropriate size to facilitate efficient searching, improve search result organization, and provide other benefits do not adequately account for the expanding amount of available electronic content. Such algorithms generally have sub-linear complexity, meaning they provide solutions without analyzing all available input. Using an algorithm with sub-linear complexity has been considered desirable to keep up with the pace of increasing assets because to process large data sets in more than linear time is too expensive and slow. Other search techniques have involved the use of hierarchical clustering or other hierarchical organizations of electronic content items. However, use of hierarchical organization can also have disadvantages. A common disadvantage of hierarchical organization is that the resulting structure needs to be rebuilt when it becomes unbalanced and is hard to distribute over multiple machines. Generally, it is desirable to improve current techniques for reducing the search time associated with a query in a search engine and reducing the result set of said query to a meaningful subset.